
students_list = [
    {'id':'001','name':'马云','age':20,'gender':'男','address':'阿里巴巴总部'},
    {'id':'002','name':'马化腾','age':22,'gender':'男','address':'北京腾讯总部'},
    {'id':'003','name':'马未都','age':50,'gender':'男','address':'北京观复博物馆'},
    {'id':'004','name':'马伊利','age':18,'gender':'女','address':'上海外滩'},
    {'id':'005','name':'马冬梅','age':31,'gender':'女','address':'北京开心麻花媒体有限公司'}
]

menu = '''
*************秦职学生信息管理系统**************

    1、查询学生信息
    2、修改学生信息
    3、增加学生信息
    4、删除学生信息
    q、退出信息系统

'''

while True:
    print(menu)
    #需要用户选择相应的操作
    operation = input('请输入您要操作的操作符：')
    if operation == '1':
        # 查询信息
        id_name = input('请输入您要查询的学生编号或者姓名：').strip() #去掉前后空格
            #遍历学生信息列表
        for stu in students_list:
            #判断输入的id或者姓名，是否与列表中的某一项一致
            if id_name == stu['name'] or id_name == stu['id']:
                print(f'编号：{stu["id"]}，姓名{stu["name"]}\n年龄{stu["age"]}，性别：{stu["gender"]}\n地址：{stu["address"]}')
                break #跳出for循环
        else:
            #如果不遇的break就会执行这里的代码
            print('您输入的姓名或者编号不存在！')
    elif operation == '2':
        #修改信息
        #也是先获取id或者姓名，然后遍历整个学生列表
        #找到后重新输入相关的信息，
        #修改我们学生列表中的原有数据
        id_name = input('请输入您要修改的学生编号或者姓名：').strip() #去掉前后空格
            #遍历学生信息列表
        for stu in students_list:
            #判断输入的id或者姓名，是否与列表中的某一项一致
            if id_name == stu['name'] or id_name == stu['id']:
                name  = input('请重新输入姓名：').strip()
                age  = int(input('请重新输入年龄：').strip())
                gender  = input('请重新输入性别：').strip()
                addr = input('请重新输入地址：').strip()
                stu['name'] = name
                stu['age'] = age
                stu['gender'] = gender
                stu['address'] = addr
                print()
                print(f'编号：{stu["id"]}\t姓名：{stu["name"]}\n年龄：{stu["age"]}\t性别：{stu["gender"]}\n地址：{stu["address"]}')
                break #跳出for循环
        else:
            #如果不遇的break就会执行这里的代码
            print('您输入的姓名或者编号不存在！')
    elif operation == '3':
        #增加信息
        id = f'00{len(students_list)+1}'
        name  = input('请重新输入姓名：').strip()
        age  = int(input('请重新输入年龄：').strip())
        gender  = input('请重新输入性别：').strip()
        addr = input('请重新输入地址：').strip()
        new_stu = {'id':id,'name':name,'age':age,'gender':gender,'address':addr}
        students_list.append(new_stu)
        for stu in students_list:
            if id == stu['id']:
                print()
                print(f'编号：{stu["id"]}\t姓名：{stu["name"]}\n年龄：{stu["age"]}\t性别：{stu["gender"]}\n地址：{stu["address"]}')
    elif operation == '4':
        #删除信息
        id_name = input('请输入您要删除的学生编号或者姓名：').strip() #去掉前后空格
        for index,stu in enumerate(students_list):
            if id_name == stu['id'] or id_name == stu['name']:
                answer = input(f'您是否确定要删除{stu["name"]}的信息吗：y/n')
                if answer.upper()=='Y':
                    del students_list[index]
                    print(f'【{stu["name"]}】信息记录已删除！')
                    break
                else:
                    print('取消删除操作')
                    break
        else:
            print('您想删除的学生不存在！')
    elif operation == 'q':
        #退出信息
        break
    else:
        print('您输入的操作符有误，请重新输入！！')